package persistence;

import static org.junit.Assert.assertEquals;

import java.util.HashSet;
import java.util.Set;

import model.VadeMecumMultimedia;

import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;

import exception.BDException;

public class VadeMecumMultimediaDAOTest {

//	@BeforeClass
//	public void salvaEstadoAtualDoBD(){
//		//TODO pega o estado atual do BD e armazena aqui para nao ser alterado!!
//	}
//	
//	@AfterClass
//	public void restauraEstadoInicialDoBD(){
//		//TODO pega o estado inicial do BD e restaura-o!!
//	}
	
//	@Test(expected=BDException.class)
//	public void addFileWithNullName() throws BDException{
//		Set<String> tags = new HashSet<String>();
//		tags.add("tag1");
//		tags.add("tag2");
//		tags.add("tag3");
//		VadeMecumMultimedia fileToBD = new VadeMecumMultimedia( null , "fileTypeTest", "fileUrlTest", tags, "fileContextUrlTest");		
//		VadeMecumMultimediaDAO.getInstance().store(fileToBD);
//	}
//
//	@Test(expected=BDException.class)
//	public void addFileWithNullType() throws BDException{
//		Set<String> tags = new HashSet<String>();
//		tags.add("tag1");
//		tags.add("tag2");
//		tags.add("tag3");
//		VadeMecumMultimedia fileToBD = new VadeMecumMultimedia( "fileNameTest" , null, "fileUrlTest", tags, "fileContextUrlTest");		
//		VadeMecumMultimediaDAO.getInstance().store(fileToBD);
//	}
//	
//	@Test(expected=BDException.class)
//	public void addFileWithNullURL() throws BDException{
//		Set<String> tags = new HashSet<String>();
//		tags.add("tag1");
//		tags.add("tag2");
//		tags.add("tag3");
//		VadeMecumMultimedia fileToBD = new VadeMecumMultimedia( "fileNameTest" , "fileTypeTest", null, tags, "fileContextUrlTest");		
//		VadeMecumMultimediaDAO.getInstance().store(fileToBD);
//	}
//	
//	@Test
//	public void addFileOK() throws BDException{
//		Set<String> tags = new HashSet<String>();
//		tags.add("tag1");
//		tags.add("tag2");
//		tags.add("tag3");
//		int numberOfInstancesInBD = VadeMecumMultimediaDAO.getInstance().numberOfInstances();
//		assertEquals(0, numberOfInstancesInBD);
//		VadeMecumMultimedia fileToBD = new VadeMecumMultimedia( "fileNameTest2" , "fileTypeTest", "fileUrlTest", tags, "fileContextUrlTest");
//		VadeMecumMultimediaDAO.getInstance().store(fileToBD);
//		numberOfInstancesInBD = VadeMecumMultimediaDAO.getInstance().numberOfInstances();
//		assertEquals(1, numberOfInstancesInBD);
//	}
}
